*enabled = muxer->widget_actions_enabled[i];
if (parameter_type)
*parameter_type = action->parameter_type;
+ if (state_type)
+ *state_type = action->state_type;
if (state_hint)
*state_hint = NULL;
- if (state_type)
- *state_type = NULL;
if (state)
*state = NULL;
s = g_variant_ref_sink (action->get_state (muxer->widget, action->name));
- if (state_type)
- *state_type = g_variant_get_type (s);
if (state)
*state = g_variant_ref (s);
gtk_widget_class_install_stateful_action (GTK_WIDGET_CLASS (class), "color.select",
gtk_color_chooser_widget_activate_color_select,
- "(dddd)", NULL, NULL);
+ "(dddd)", NULL, NULL, NULL);
gtk_widget_class_install_stateful_action (GTK_WIDGET_CLASS (class), "color.customize",
gtk_color_chooser_widget_activate_color_customize,
- "(dddd)", NULL, NULL);
+ "(dddd)", NULL, NULL, NULL);
}
/* GtkColorChooser implementation {{{1 */
gtk_text_activate_misc_insert_emoji);
gtk_widget_class_install_stateful_action (widget_class, "misc.toggle-visibility",
gtk_text_activate_misc_toggle_visibility,
- NULL,
+ NULL, "b",
gtk_text_set_misc_toggle_visibility,
gtk_text_get_misc_toggle_visibility);
}
GtkWidgetActionActivateFunc activate)
{
gtk_widget_class_install_stateful_action (widget_class, action_name, activate,
- NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL);
}
/*
* @action_name: a prefixed action name, such as "clipboard.paste"
* @activate: callback to use when the action is activated
* @parameter_type: (allow-none): the parameter type, or %NULL
- * @query: (allow-none): callback to use when the action properties
- are queried, or %NULL for always-enabled stateless actions
- * @query_state: (allow-none): callback to use when the action state
+ * @state_type: (allow-none): the state type, or %NULL
+ * @set_state: (allow-none): callback to use when the action state
+ is set, or %NULL for stateless actions
+ * @get_state: (allow-none): callback to use when the action state
is queried, or %NULL for stateless actions
*
* This should be called at class initialization time to specify
const char *action_name,
GtkWidgetActionActivateFunc activate,
const char *parameter_type,
+ const char *state_type,
GtkWidgetActionSetStateFunc set_state,
GtkWidgetActionGetStateFunc get_state)
{
action->name = g_strdup (action_name);
action->activate = activate;
action->parameter_type = parameter_type ? g_variant_type_new (parameter_type) : NULL;
+ action->state_type = state_type ? g_variant_type_new (state_type) : NULL;
action->set_state = set_state;
action->get_state = get_state;
const char *action_name,
GtkWidgetActionActivateFunc activate,
const char *parameter_type,
+ const char *state_type,
GtkWidgetActionSetStateFunc set_state,
GtkWidgetActionGetStateFunc get_state);